<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>数组解构</title>
  </head>
  <body>
    <script>
      // 数组解构的特性
      // 数组的元素是有序排列的，解构时，变量的取值和它的位置一一对应
      // 1、可嵌套
      // let [a, [[b], c]] = [1, [[2], 3]];
      // console.log(a, b, c); // 1 2 3

      // 2、可忽略
      // let [a, , b] = [1, 2, 3];
      // console.log(a, b); // 1 3

      // 3、不完全解构
      // let [a, b] = [1, 2, 3, 4];
      // console.log(a, b); // 1 2

      // 4、剩余运算符（这个不是很明白）
      // let [a, ...b] = [1, 2, 3, 4];
      // console.log(a, b); // 1 [2, 3, 4]

      // 5、解构默认值（只有值为 undefined 时，才能使用默认值）
      // let [a, b = 'react'] = ['vue'];
      // console.log(a, b); // vue react（此时的 b 为 undefined，才能使用默认值）

      // 这里的值不是 undefined，所以不能使用默认值
      let [a, b = 'react'] = ['vue', 'angular'];
      console.log(a, b); // vue angular
    </script>
  </body>
</html>
